package pc

import (
	. "chess_platform/internal/common"
	"fmt"
)

//一些其他的配置,类型,1-用户协议,2-开屏广告,3-客服,4-合作
func UpdateOtherConf(data map[string]interface{}, id int64) error {
	o := NewDBOrm(DBChessSysData)
	condition := fmt.Sprintf(`id = %v`, id)
	values, sql := UpdateSql(TableOtherConf, data, condition)
	_, err := o.Raw(sql, values).Exec()
	return err
}

func OtherConfById(id int64) (*OtherConf, error) {
	var gl OtherConf
	sql := fmt.Sprintf(`
		SELECT
			*
		FROM
			%v
		WHERE
			id = %v
		`, TableOtherConf, id)
	o := NewDBOrm(DBChessSysData)
	err := o.Raw(sql).QueryRow(&gl)
	if CheckError(err) {
		return nil, err
	}

	return &gl, nil
}

//已做缓存, 其它配置列表(开屏广告,客服,合作)
func ListOtherConf(typ int64) ([]OtherConf, error) {
	where := "1=1"
	if typ != 0 && typ != 1 {
		where = fmt.Sprintf("type = %v", typ)
	} else {
		where = fmt.Sprintf("type <= 5")
	}
	var gl []OtherConf
	sql := fmt.Sprintf(`
		SELECT
			*
		FROM
			%v
		WHERE
			%v
		`, TableOtherConf, where)
	o := NewDBOrm(DBChessSysData)
	_, err := o.Raw(sql).QueryRows(&gl)
	if CheckNoExist(err) {
		return nil, nil
	}
	return gl, err
}
